package com.approval.dto;

import lombok.Data;
import java.util.List;

/**
 * 用户权限预览响应DTO
 */
@Data
public class UserPermissionPreviewResponse {
    
    private Long userId;
    private String username;
    private String name;
    
    // 角色信息
    private List<RoleResponse> roles;
    
    // 菜单权限
    private List<PermissionResponse> menuPermissions;
    
    // 操作权限
    private List<PermissionResponse> operationPermissions;
    
    // 数据权限
    private List<PermissionResponse> dataPermissions;
    
    // 所有权限（扁平化）
    private List<String> allPermissions;
    
    // Getter and Setter methods
    public Long getUserId() {
        return userId;
    }
    
    public void setUserId(Long userId) {
        this.userId = userId;
    }
    
    public String getUsername() {
        return username;
    }
    
    public void setUsername(String username) {
        this.username = username;
    }
    
    public String getName() {
        return name;
    }
    
    public void setName(String name) {
        this.name = name;
    }
    
    public List<RoleResponse> getRoles() {
        return roles;
    }
    
    public void setRoles(List<RoleResponse> roles) {
        this.roles = roles;
    }
    
    public List<PermissionResponse> getMenuPermissions() {
        return menuPermissions;
    }
    
    public void setMenuPermissions(List<PermissionResponse> menuPermissions) {
        this.menuPermissions = menuPermissions;
    }
    
    public List<PermissionResponse> getOperationPermissions() {
        return operationPermissions;
    }
    
    public void setOperationPermissions(List<PermissionResponse> operationPermissions) {
        this.operationPermissions = operationPermissions;
    }
    
    public List<PermissionResponse> getDataPermissions() {
        return dataPermissions;
    }
    
    public void setDataPermissions(List<PermissionResponse> dataPermissions) {
        this.dataPermissions = dataPermissions;
    }
    
    public List<String> getAllPermissions() {
        return allPermissions;
    }
    
    public void setAllPermissions(List<String> allPermissions) {
        this.allPermissions = allPermissions;
    }
}
